Repository navigation
build(deps): bump minimatch and just-bash - #308
Conversation
🦋 Changeset detectedLatest commit: 9f051e6 The changes in this PR will be included in the next version bump. This PR includes changesets to release 5 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
| "esbuild": "^0.28.1", | ||
| "isomorphic-git": "^1.38.3", | ||
| "just-bash": "^3.0.1", | ||
| "just-bash": "^3.6.0", |
There was a problem hiding this comment.
🟡 Worker shell cannot run mktemp
Running the new mktemp command fails even with a writable temporary directory. WorkspaceFsAdapter lacks the createExclusive method that mktemp requires.
Learn more
The updated just-bash provides mktemp, which requires an atomic createExclusive operation from its filesystem. ShellWorker supplies WorkspaceFsAdapter, which does not implement that operation. A writable directory alone cannot make the command work because just-bash does not substitute a non-atomic create. Other shell commands can still use the workspace.
Example: Create /tmp in a workspace and run mktemp -p /tmp through the Worker shell. Instead of returning a path and creating the file, the command fails because the adapter cannot create the entry exclusively.
Recommended fix: Add an atomic create-exclusive operation to the Workspace filesystem and expose it through WorkspaceFsAdapter.createExclusive, preserving file/directory mode and existing-path semantics. Test mktemp through the Worker shell against a writable temporary directory.
Was this helpful? React with 👍 or 👎 to provide feedback.
|
16 checks failed on this update:
|
a1fdae5 to
b8537cd
Compare
|
20 checks failed on this update:
|
Removes [minimatch](https://github.com/isaacs/minimatch). It's no longer used after updating ancestor dependency [just-bash](https://github.com/vercel-labs/just-bash). These dependencies need to be updated together. Removes `minimatch` Updates `just-bash` from 3.2.0 to 3.6.0 - [Release notes](https://github.com/vercel-labs/just-bash/releases) - [Commits](https://github.com/vercel-labs/just-bash/compare/just-bash@3.2.0...just-bash@3.6.0) --- updated-dependencies: - dependency-name: just-bash dependency-version: 3.6.0 dependency-type: direct:production - dependency-name: minimatch dependency-version: dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
b8537cd to
4c2b36e
Compare
just-bash 3.6 imports guarded-fetch when it loads and sends curl's
requests through it. guarded-fetch imports Headers and buildConnector
from undici, which the shell bundle replaces with a stub that has
neither, so the bundle no longer built.
guarded-fetch adds DNS pinning and private-range checks. The Worker
backend runs with denyPrivateRanges off and leaves egress to the
Dynamic Worker's globalOutbound, so those checks change nothing for
it: requests to localhost, private addresses and public hosts reach
the outbound the same way with and without it. Bundled, it would add
about 42 KB to core, which every shell loads whether it has curl or
not. The bundle now turns just-bash's import("guarded-fetch") into
Promise.resolve(null), which is the path just-bash takes in a
browser: plain fetch, through the SecureFetch the entrypoint passes.
The build fails if just-bash stops having that import.
The worker-backend tests gain a shell with an outbound gateway that
echoes each request, and run curl against it, so a request through
the whole path is covered rather than curl's argument check alone.
The bundle test now checks that neither the real undici nor
guarded-fetch is in core or any command group.
|
18 checks failed on this update:
|
commit: |
Removes minimatch. It's no longer used after updating ancestor dependency just-bash. These dependencies need to be updated together.
Removes
minimatchUpdates
just-bashfrom 3.2.0 to 3.6.0Release notes
Sourced from just-bash's releases.
... (truncated)
Commits
7537a26chore: release (#504)632090achore(deps): update undici and smol-toml to patched versions (#509)e0cca16Fix jq to_entries on arrays and tonumber on empty strings (#384)d91dce8refactor(expansion): share pattern-removal compilation (#518)2d79d8brefactor(fs): simplify mount storage and routing (#517)e9bc741chore(network): remove unused request-owned DNS transport (#516)f77efbdchore: make CONTRIBUTING.md the source of truth for commands and labels (#511)d959d9ffix(curl): support request data from stdin (#411)9503e06fix(expansion): assign array-valued parameter defaults (#519)701f8e5fix(expansion): reject default assignment to positional parameters (#520)